package com.net.oil.user.contract;

import com.net.oil.base.IBaseModel;

/**
 * 作者：lch
 * 时间：2018/4/13 0013:下午 17:05
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface UserDetailContract {
    interface Model extends IBaseModel {
        /**
         * 上传图片
         *
         * @param path path
         */
        void uploadImage(String path);

        /**
         * 更新用户头像资源id
         *
         * @param resourceId 资源id，通过上传图片成功返回
         */
        void setUserHeadId(String resourceId);

        /**
         * 更改昵称
         *
         * @param nick 昵称
         */
        void updateNick(String nick);

        /**
         * 完善推荐人信息
         *
         * @param invitationPhone 推荐人手机号
         */
        void sendRecommendUserInfo(String invitationPhone);
    }

    interface View {

        /**
         * 上传图片成功
         */
        void uploadImageSuccess(String result);

        /**
         * 上传图片失败
         */
        void uploadImageFailed();

        /**
         * 设置头像资源id成功
         */
        void setUserHeadIdSuccess();

        /**
         * 设置资源id失败
         */
        void setUserHeadIdFailed();

        /**
         * 更改昵称成功
         */
        void updateNickSuccess();

        /**
         * 更改昵称失败
         */
        void updateNickFailed();

        /**
         * 完善推荐人信息成功
         */
        void sendRecommendUserInfoSuccess();

        /**
         * 完成推荐人信息失败
         */
        void sendRecommendUserInfoFailed();
    }

    interface Presenter {
        /**
         * 上传图片
         *
         * @param path map
         */
        void uploadImage(String path);

        /**
         * 上传图片成功
         */
        void uploadImageSuccess(String result);

        /**
         * 上传图片失败
         */
        void uploadImageFailed();

        /**
         * 更新用户头像资源id
         *
         * @param resourceId 资源id，通过上传图片成功返回
         */
        void setUserHeadId(String resourceId);

        /**
         * 设置头像资源id成功
         */
        void setUserHeadIdSuccess();

        /**
         * 设置资源id失败
         */
        void setUserHeadIdFailed();

        /**
         * 更改昵称
         *
         * @param nick 昵称
         */
        void updateNick(String nick);

        /**
         * 更改昵称成功
         */
        void updateNickSuccess();

        /**
         * 更改昵称失败
         */
        void updateNickFailed();

        /**
         * 完善推荐人信息
         *
         * @param invitationPhone 推荐人手机号
         */
        void sendRecommendUserInfo(String invitationPhone);

        /**
         * 完善推荐人信息成功
         */
        void sendRecommendUserInfoSuccess();

        /**
         * 完成推荐人信息失败
         */
        void sendRecommendUserInfoFailed();
    }
}
